// server.js
require('dotenv').config(); // 加载 .env 文件
const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
const bodyParser = require('body-parser');
const analyticsRoutes = require('./routes/analytics');

const app = express();
const PORT = process.env.PORT || 3001; // 后端端口

// 中间件
app.use(cors()); // 允许跨域请求 (根据需要配置)
// 使用 bodyParser 解析 JSON 请求体 (Express 4.16+ 自带 express.json())
// app.use(bodyParser.json()); // 老版本需要
app.use(express.json()); // 解析 JSON 请求体
app.use(express.urlencoded({ extended: true })); // 解析 URL 编码的请求体

// 连接 MongoDB
mongoose.connect(process.env.MONGODB_URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    // useCreateIndex: true, // Mongoose 6+ 不需要
    // useFindAndModify: false // Mongoose 6+ 不需要
}).then(() => {
    console.log('MongoDB connected successfully.');
}).catch(err => {
    console.error('MongoDB connection error:', err);
    process.exit(1); // 连接失败则退出
});

// 挂载 API 路由
app.use('/api', analyticsRoutes);

// 基本的根路由
app.get('/', (req, res) => {
    res.send('Analytics Backend is running!');
});

// 启动服务器
app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});


